Pour vous aider en cas de difficultés, voici le code SQL final de la session suivante. Vous pouvez également vous entrainer, en l'écrivant avec moi.

CREATE OR REPLACE FUNCTION mise_a_jour_stock() RETURNS TRIGGER AS $$

BEGIN

-- Soustraire la quantité commandée du stock du produit

UPDATE produit

SET stock = stock - NEW.quantite

WHERE produit_id = NEW.produit_id;

RETURN NEW; -- Important pour les déclencheurs

END;

$$ LANGUAGE plpgsql;

CREATE TRIGGER trigger_mise_a_jour_stock

AFTER INSERT ON commandes

FOR EACH ROW EXECUTE FUNCTION mise_a_jour_stock();

INSERT INTO commandes (Commande_id, client_id, produit_id, quantite, prix_total) VALUES (2005, 102, 505, 3, 1952.25);